Новый синтаксис медиа-запросов в CSS, который включает такие выражения, как @media (100px <= width <= 200px)
, является частью спецификации CSS Media Queries Level 4 и Level 5. Этот синтаксис упрощает работу с диапазонами значений и делает медиа-запросы более читаемыми и интуитивными по сравнению с традиционным способом.
@media (min-width: 100px) and (max-width: 200px) {
/* стили */
}
2. Новый синтаксис позволяет указать диапазон в одном выражении:
@media (100px <= width <= 200px) {
/* стили */
}
Это гораздо проще и понятнее, особенно для тех, кто знаком с математическими операциями с неравенствами.
Основные особенности:
Можно использовать для любых медиа-выражений, которые поддерживают числовые значения, например, width, height, aspect-ratio и т.д.
Поддерживаются не только выражения диапазонов (например, 100px <= width <= 200px), но и другие операторы сравнения:
width > 100px
width <= 800px
Пример:
@media (300px <= width <= 600px) {
body {
background-color: lightblue;
}
}
В этом случае, если ширина экрана находится в диапазоне от 300px до 600px, будет применён светло-голубой фон для элемента body
.
Хотя этот синтаксис действительно намного удобнее, он пока не повсеместно поддерживается всеми браузерами. Некоторые браузеры уже начали внедрение этого функционала, но стоит проверить совместимость для вашего конкретного проекта.
Для обеспечения кроссбраузерности рекомендуется пока использовать старый синтаксис min-width
и max-width
в продакшн-коде, а новый синтаксис применять там, где это возможно или для экспериментов в будущем.